#ifndef GULLENGINE_LIGHTPROPERTIES
#define GULLENGINE_LIGHTPROPERTIES

#include "Vector3D.h"

namespace gull {
	namespace core{
	
		class LightProperties
		{
		public:
			LightProperties();
			LightProperties(const LightProperties& lp);
			~LightProperties();
			
			inline const Vector3D* getDiffuse() const;
			inline const Vector3D* getSpecular() const;
			inline const Vector3D* getAmbient() const;
			
			inline void setDiffuse(const Vector3D& v);
			inline void setSpecular(const Vector3D& v);
			inline void setAmbient(const Vector3D& v);
			
			
		protected:
			Vector3D m_diffuse;
			Vector3D m_specular;
			Vector3D m_ambient;
			
			
		private:
			
			
		};
		
		
		const Vector3D* LightProperties::getDiffuse() const{
			return &m_diffuse;
		}
		
		const Vector3D* LightProperties::getSpecular() const{
			return &m_specular;
		}
		
		const Vector3D* LightProperties::getAmbient() const{
			return &m_ambient;
		}
		
		
		void LightProperties::setDiffuse(const Vector3D& v){
			m_diffuse = v;
		}
		
		
		void LightProperties::setSpecular(const Vector3D& v){
			m_specular = v;
		}
		
		void LightProperties::setAmbient(const Vector3D& v){
			m_ambient = v;
		}
		
		
	}
}

#endif